package com.starbugs.wehcat;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

//@SpringBootApplication是一个组合注解，它组合了3个其他的注解。
//@SpringBootConfiguration：将该类声明为配置类。尽管这个类目前还没有太多的配置，但是后续我们可以按需添加基于Java的Spring框架配置。
// 这个注解实际上是@Configuration注解的特殊形式。
//@EnableAutoConfiguration：启用Spring Boot的自动配置。我们随后会介绍自动配置的更多功能。就现在来说，我们只需要知道这个注解会告诉Spring Boot自动配置它认为我们会用到的组件。
//@ComponentScan：启用组件扫描。这样我们能够通过像@Component、@Controller、@Service这样的注解声明其他类，Spring会自动发现它们并将它们注册为Spring应用上下文中的组件

@SpringBootApplication
public class WehcatApplication implements WebMvcConfigurer {

  // main()方法会调用SpringApplication中静态的run()方法，
  // 后者会真正执行应用的引导过程，也就是创建Spring的应用上下文

	public static void main(String[] args) {
		SpringApplication.run(WehcatApplication.class, args);
	}

	// 调用registry的addViewController()方法，将“/”传递了进去，
	// 视图控制器将会针对该路径执行GET请求。这个方法会返回ViewControllerRegistration对象，
	// 我们马上基于该对象调用了setViewName()方法

	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		registry.addViewController("/home2").setViewName("/home2");
	}
}
